package com.laowang.project.system.domain;

import java.math.BigDecimal;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.laowang.framework.aspectj.lang.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.persistence.*;
import java.io.Serializable;

/**
 * order对象对象 zc_wx_order
 *
 * @author laowang
 * @date 2025-09-09
 */
@NoArgsConstructor
@Data
public class ZcWxOrder implements Serializable {
  private static final long serialVersionUID = 1L;

  /**
   * $column.columnComment
   */
  @ApiModelProperty(value = "${comment}", required = false)
  private String id;

  /**
   * 微信用户id
   */
  @Excel(name = "微信用户id")
  @ApiModelProperty(value = "微信用户id", required = false)
  private Integer userId;

  @Excel(name = "支持者")
  @ApiModelProperty(value = "支持者id", required = false)
  private Integer supporter;

  /**
   * 结束时间
   */
  @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
  @Excel(name = "结束时间", width = 30, dateFormat = "yyyy-MM-dd")
  @ApiModelProperty(value = "结束时间", required = false)
  private Date expireTime;

  /**
   * 创建时间
   */
  @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
  @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
  @ApiModelProperty(value = "创建时间", required = false)
  private Date createTime;

  @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
  @Excel(name = "退款时间", width = 30, dateFormat = "yyyy-MM-dd")
  @ApiModelProperty(value = "退款时间", required = false)
  private Date refundTime;

  /**
   * 0待支付,1已支付,2已退款,3关闭支付,4已删除,5待退款
   */
  @Excel(name = "0待支付,1已支付,2已退款,3关闭支付,4已删除,5待退款")
  @ApiModelProperty(value = "0待支付,1已支付,2已退款,3关闭支付,4已删除,5待退款", required = false)
  private Integer status;

  /**
   * 类型 1参加活动
   */
  @Excel(name = "类型 1参加活动")
  @ApiModelProperty(value = "类型 1参加活动", required = false)
  private Integer type;

  @ApiModelProperty(value = "详情id", required = false)
  private Integer activityId;

  /**
   * 数量
   */
  @Excel(name = "数量")
  @ApiModelProperty(value = "数量", required = false)
  private Integer number;

  /**
   * 总价元
   */
  @Excel(name = "总价元")
  @ApiModelProperty(value = "总价元", required = false)
  private BigDecimal totalPrice;

  /**
   * 交易流水号
   */
  @Excel(name = "交易流水号")
  @ApiModelProperty(value = "交易流水号", required = false)
  private String transactionId;

  /**
   * 预支付id
   */
  @Excel(name = "预支付id")
  @ApiModelProperty(value = "预支付id", required = false)
  private String prepayId;

  /**
   * 国通的订单流水号
   */
  @Excel(name = "国通的订单流水号")
  @ApiModelProperty(value = "国通的订单流水号", required = false)
  private String orderNo;

  /**
   * 活动票对象
   */
  @Excel(name = "活动票对象")
  @ApiModelProperty(value = "活动票对象", required = false)
  private String actObj;


  @ApiModelProperty(value = "备注", required = false)
  private String remark;

  @Transient
  @ApiModelProperty(value = "分享者", required = false)
  private Integer shareId;


}
